package ar.edu.utn.frsf.cidisi.upcolbpip.upgen;

import java.util.Vector;
import ar.edu.utn.frsf.cidisi.upcolbpip.UPColBPIPModel;

public class Main {

	public static void main(String args[]){

		// Mide el Tiempo
		long time_start, time_end;
		time_start = System.currentTimeMillis();
		
		CreateModel nuevoModelo = new CreateModel(); /* Crea un nuevo modelo limpio UPColBPIP listo para ser modificado*/
		Vector<Vector<String>> combinaciones = (new Backtracking(14,-1)).getResult(); /* Genera todos los protocolos posibles*/

		nuevoModelo.addInteractionProtocols(combinaciones); /* Agrega los protocolos al modelo */
		UPColBPIPModel modelUpcolbpip = nuevoModelo.getModelUpcolbpip(); /* Guarda el resultado en la variable modelUpcolbpip */
		
		(new CopyOfWriteUPColBPIPFile()).createUPColBPIPFile("", modelUpcolbpip); /* Se crea el archivo upcolbpip*/
		
		
		System.out.println("Combinations: "+combinaciones.size()); /* Imprime el numero de combinaciones */
		// Mide el tiempo
		time_end = System.currentTimeMillis();
		System.out.println("the task has taken "+ ( time_end - time_start ) +" milliseconds");
	}
	
}